Method and system for performing routing of a phone call through  a third party device

ABSTRACT

A method, system, and computer program for routing an outgoing communication in real time is presented. A communication is received from a caller to an intended receiving wireless telecommunication device. In response to the communication failing to connect to the intended receiving wireless telecommunication device, a host carrier initiated query of third party priority of contacts routing preferences of the intended receiving wireless telecommunication device is initiated to determine if other communication devices are available for receiving a re-route of the original communication. If third party routing preferences of the intended receiving wireless telecommunication device have previously been established, then the call is rerouted through one or more alternate telecommunication devices to the intended receiving wireless telecommunication device. The priority of contacts is stored with the host carrier.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates in general to telecommunications, and inparticular to cellular phones. Still more particularly, the presentinvention relates to performing routing of a phone call through a thirdparty device.

2. Description of the Related Art

Cellular (cell) phones have become a ubiquitous aid in allowing a personto be constantly accessible. However, there are times when a person maynot desire, or may be unable, to take an incoming call.

SUMMARY OF THE INVENTION

A method, system, and computer program for routing an outgoingcommunication in real time is presented. A communication is receivedfrom a caller to an intended receiving wireless telecommunicationdevice. In response to the communication failing to connect to theintended receiving wireless telecommunication device, a host carrierinitiated query of third party priority of contacts routing preferencesof the intended receiving wireless telecommunication device is initiatedto determine if other communication devices are available for receivinga re-route of the original communication. If third party routingpreferences of the intended receiving wireless telecommunication devicehave previously been established, then the call is rerouted through oneor more alternate telecommunication devices to the intended receivingwireless telecommunication device. The priority of contacts is storedwith the host carrier.

The above as well as additional objectives, features, and advantages ofthe present invention will become apparent in the following detailedwritten description.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objects and advantages thereof, willbest be understood by reference to the following detailed descriptionsof an illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 is a block diagram of a data processing system in which thepresent invention may be implemented;

FIG. 2. is a block diagram of an exemplary system for performingre-routing of a phone call through a third party alternatetelecommunication device; and

FIG. 3. is a high-level logical flowchart of an exemplary set of stepsperformed while performing re-routing of a phone call through a thirdparty alternate telecommunication device.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference now to FIG. 1, there is depicted a block diagram of anexemplary computer 102 in which the present invention may beimplemented. Computer 102 includes one or more processors 104 that arecoupled to a system bus 106. A video adapter 108, which drives/supportsa display 110, is also coupled to system bus 106. System bus 106 iscoupled via a bus bridge 112 to an Input/Output (I/O) bus 114. An I/Ointerface 116 is coupled to I/O bus 114. I/O interface 116 affordscommunication with various I/O devices, including a keyboard 118, aShort Range Wireless Transceiver 120, a Compact Disk-Read Only Memory(CD-ROM) drive 122, a floppy disk drive 124, and a flash drive memory126. Keyboard 118 may be a standard keyboard (e.g., QWERTY style orsimilar), or a condensed alphanumeric keypad. The format of the portsconnected to I/O interface 116 may be any known to those skilled in theart of computer architecture, including but not limited to UniversalSerial Bus (USB) ports. Short Range Wireless Transceiver 120 utilizesshort range wireless electromagnetic signals (e.g. wireless spreadspectrum, radio frequency (RF), inferred (IR), etc) to allow Computer102 to transmit or receive voice or data with another telecommunicationdevice.

Computer 102 is able to communicate with a software deploying server 150via a network 128 using a network interface 130, which is coupled tosystem bus 106. Network interface 130 may utilize a wired, or a wirelesstechnology such as a cellular broadcast to connect with Network 128.Network 128 may be an external network such as the Internet, or aninternal network such as an Ethernet or a Virtual Private Network (VPN).Note the software deploying server 150 may utilize a same orsubstantially similar architecture as computer 102.

A hard drive interface 132 is also coupled to system bus 106. Hard driveinterface 132 interfaces with a hard drive 134. In a preferredembodiment, hard drive 134 populates a system memory 136, which is alsocoupled to system bus 106. System memory is defined as a lowest level ofvolatile memory in computer 102. This volatile memory includesadditional higher levels of volatile memory (not shown), including, butnot limited to, cache memory, registers and buffers. Data that populatessystem memory 136 includes computer 102's operating system (OS) 138 andapplication programs 144.

OS 138 includes a shell 140, for providing transparent user access toresources such as application programs 144. Generally, shell 140 is aprogram that provides an interpreter and an interface between the userand the operating system. More specifically, shell 140 executes commandsthat are entered into a command line user interface or from a file.Thus, shell 140 (also called a command processor) is generally thehighest level of the operating system software hierarchy and serves as acommand interpreter. The shell provides a system prompt, interpretscommands entered by keyboard or other user input media, and sends theinterpreted command(s) to the appropriate lower levels of the operatingsystem (e.g., a kernel 142) for processing. Note that while shell 140 isa text-based, line-oriented user interface, the present invention willequally well support other user interface modes, such as graphical,voice, gestural, etc.

As depicted, OS 138 also includes kernel 142, which includes lowerlevels of functionality for OS 138, including providing essentialservices required by other parts of OS 138 and application programs 144,including memory management, process and task management, diskmanagement, and mouse and keyboard management.

Application programs 144 include a browser 146. Browser 146 includesprogram modules and instructions enabling a World Wide Web (WWW) client(e.g., computer 102) to send and receive network messages to theInternet using HyperText Transfer Protocol (HTTP) messaging, thusenabling communication with software deploying server 150.

Application programs 144 in computer 102's system memory (as well assoftware deploying server 150's system memory) also include a CallerRouting Logic (CRL) 148. CRL 148 includes code for implementing theprocesses described in FIGS. 2-3. In one embodiment, computer 102 isable to download CRL 148 from software deploying server 150, includingin an “on demand” basis, as described in greater detail below in FIGS.2-3.

The hardware elements depicted in computer 102 are not intended to beexhaustive, but rather are representative to highlight essentialcomponents required by the present invention. For instance, computer 102may include alternate memory storage devices such as magnetic cassettes,Digital Versatile Disks (DVDs), Bernoulli cartridges, and the like.These and other variations are intended to be within the spirit andscope of the present invention.

Note further that, in a preferred embodiment of the present invention,software deploying server 150 performs all of the functions associatedwith the present invention (including execution of CRL 148), thusfreeing computer 102 from having to use its own internal computingresources to execute CRL 148.

Note also the architecture shown in FIG. 1 for computer 102 may besubstantially implemented in Caller Telecommunication Device (CTD) 202,Host Carrier 206, Intended Receiving Wireless Telecommunication Device(IRWTD) 204, and Alternate Telecommunication Devices (ATDs) 208 a-nshown below in FIG. 2. That is, although CTD 202, IRWTD 206 and ATDs 208a-n are described as cellular phones, by including a telecommunicationstransceiver 152 in the architecture of computer 102, the appropriateelements illustrated as components of computer 102 can operate as a“smart” phone that communicates with a wireless host carrier (e.g., HostCarrier 204 shown below in FIG. 2), or a Plain Old Telephone System(POTS) system. Additionally, by including a Short Range WirelessTransceiver 120 in the architecture of computer 102, the appropriateelements illustrated as components of computer 102 can operate as an“ad-hoc” network device that communicates with another telecommunicationdevice within a wireless short range proximity to computer 102 (e.g.,Alternate Telecommunication Devices (ATDs) 208 a-n shown below in FIG.2).

With reference now to FIG. 2, a block diagram of the routing system usedin an exemplary embodiment of the present invention is presented. ACaller Telecommunication Device (CTD) 202 (e.g., a cell phone, a PlainOld Telephone System (POTS) land line, a cell-capable Personal AssistantDevice (PDA), etc.) connected to Host Carrier 206 initiates acommunication (voice call or notification message) to an IntendedReceiving Wireless Telecommunication Device (IRWTD) 204. Host Carrier206 is a remote service host such as a cellular service provider that isremotely connected to both CTD 202 and IRWTD 204. If IRWTD's 204 ringeris “on”, and thus the called user is available, the communication willbe connected. As described below, however, when IRWTD 204 is otherwiseunavailable, the communication intended for IRWTD 204 may be routedthrough a one or more Alternate Telecommunication Devices 208 a-n to apreferred Alternate Telecommunication Device 208 when the user of IRWTD204 has previously configured a Priority of Contacts (POC) 207 profilestored on Host Carrier 206.

When the user of IRWTD 204 cannot be reached by the desired methodtelecommunication method (e.g., direct cellular access, etc), a firstoption is for the caller who is using CTD 202 to leave a voicemailmessage, which will be retrievable when IRWTD 204 is either turned backon or the user becomes available. However, the user of IRWTD 204 mayoptionally configure a POC 207, stored on Host Carrier 206, whichenables the automatic re-routing of an incoming communication through anATD 208 a-n to IRWTD 204. POC 207 is a priority based list of contactsand routing preferences, setup by the user of IRWTD 204. POC 207 governswhere an incoming communication may or may not be re-routed to.Additionally, POC 207 may specify to always attempt to route acommunication to a specific ATD 208 a-n or to attempt re-routing of thecommunication to a specific set of ATDs 208 a-n in a preferred sequence,as specified by the user or IRWTD 204. The communication may be a voicecall, voice message, or a notification message (e.g., email, SMSmessage, MMS message, etc.) composed by the user of CTD 202, ortranslated via speech-to-text software of Host Carrier 206.

CTD 202 is connected to a remote Host Carrier 206 which determines ifIRWTD 204 is available before connecting the call. When Host Carrier 206detects that IRWTD 204 is unavailable it checks for the presence of POC207 for IRWTD 204 and reads the information of POC 207 if available. Byutilizing POC 207, Host Carrier 206 determines which ATDs 208 a-n areavailable by detecting which ATDs are connected to the Host Carrier 206.ATDs 208 a-n may be connected to Host Carrier 206 directly or indirectlyby any real-time means (e.g., a network cellular broadcast, theInternet, short range wireless network, etc). Host Carrier 206 initiatesa scan to determine which ATDs 208 a-n connected to the Host Carrier 206are also connected to IRWTD 204 and are available to receive theincoming communication. This is accomplished by Host Carrier 206 issuingan instruction of all available ATDs 208 a-n specified in POC 207 toscan for the presence of IRWTD 204 in physically proximate short rangeby utilizing a common hardware based technology internal to IRWTD 204and an ATD 208 (e.g., a network cellular broadcast, the Internet, shortrange wireless network, etc). Optionally an unlicensed secure wirelesspersonal area network (PAN), may be implemented for wirelesstransmission. The short range of the device is the maximum range ofcommunication available between ATD 208 a and one or more of the ATD 208b-n without the use of a network carrier service (e.g., a cell phonecarrier service), and is further determined by the internal technologycommon to ATDs 208 a-n and IRWTD 204.

For example, when the primary ATD 208 a of POC 207 is available andconnected to IRWTD 204 through a local area network (LAN) thecommunication may be connected between ATD 208 a and CTD 202. Thecommunication is then re-routed through ATD 208 a to IRWTD 204 andmaintained for the duration of the communication (e.g., until the CTD202 or IRWTD 204 hangs up the call, until the text message istransmitted successfully, etc). It is important to note that, ATD 208a-n may a telecommunication device, a personal computer, or acombination of any number of telecommunication devices or personalcomputers.

In some cases the first ATD 208 a listed for POC 207 maybe unavailable.When this occurs logic internal to Host Carrier 206 determines ifanother re-route of the communication to ATD 208 b-n should beattempted, or if the communication re-routing should be abandoned. POC207 allows for specifying a maximum number of re-route attempts. Whenthe maximum number of re-routing attempts has been met and thecommunication is not yet connected to IRWTD 204, software internal toCTD 202 (e.g. CRL 148) will instruct the user to leave a voicemailmessage, which will be retrievable when IRWTD 204 is either turned backon or the user becomes available.

When the maximum number of routing attempts have not yet been met, thecommunication may be re-routed through multiple ATDs 208 a-n in aneffort to connect the communication to IRWTD 204. For example, when ATD208 a has no direct or indirect connection available to IRWTD 204, butis connected to ATD 208 b, wherein ATD 208 b is unavailable by a directconnection to Host Carrier 206 but is directly connected to IRWTD 204 bya short range personal area network, POC 207 may allow for routing ofthe communication from CTD 202 through ATD 208 a and ATD 208 b to IRWTD.Re-routing the communication through multiple ATDs 208 a-n mayincorporate additional technologies to transfer or translate thecommunication between voice and text as necessary (e.g., Voice overInternet Protocol (VOIP), text-to-speech translation, or speech-to-texttranslation).

With reference now to FIG. 3, a high-level logical flowchart of anexemplary set of steps for performing re-routing of a phone call to athird party alternate telecommunication device; and performed to route aphone call based on caller input is presented. After initiator block300, a communication is initiated from a Caller Telecommunication Device(CTD) to an Intended Receiving Wireless Telecommunication Device (IRWTD)(block 302). It is then determined by the Host Carrier if the IRWTD isavailable (block 304). If IRWTD is available, the call is completed(block 320) and the process ends at terminator block 330. When IRWTD isnot available, the CTD pings the host carrier to determine if a thirdparty routing priority of contacts (POC) list has been established bythe user of IRWTD (block 306). If a POC list has not been establishedthe call is routed to voicemail, where the user of CTD may leave amessage for IRWTD retrievable when IRWTD becomes available (block 320).The process then ends at terminator block 330.

If a POC list has been established the host carrier reads the POC listand determines the potential alternate telecommunication devices (ATDs)suitable for receiving a re-route of the original communication (block308). Host carrier then initiates a scan of the available ATDs utilizinga network cellular broadcast, a third party connection, such as theInternet, or common hardware based wireless technology for a connectionto IRWTD (block 310). Host carrier selects the first ATD returning aresponse as the future recipient ATD of the communication (block 312).Following the host carrier selecting the desired ATD as the recipient ofthe communication, the host carrier routes the communication one ‘hop’to the selected ATD (block 314). The recipient ATD of the communicationthen determines if a direct connection to IRWTD by another hardwarebased technology (e.g., wireless personal area network, local areanetwork, the internet, etc.) is available (block 316). If a connectionexists between the recipient ATD of the communication, then thecommunication is re-routed through the recipient ATD to IRWTD (block320). The process then terminates at block 330.

When the communication cannot be re-routed through the recipient ATD toIRWTD, the host carrier determines if the maximum routing attempts havebeen met (block 318). If the maximum number of routing attempts have notbeen met then the process loops back to block 312 in an iterative mannerto determine if the communication can be further routed through a secondATD utilizing a third party connection, such as the Internet, or commonhardware based wireless technology between the first ATD and a secondATD to IRWTD.

When the maximum routing attempts have been met and the communicationhas not been connected between CTD and IRWTD the call is routed tovoicemail, where the user of CTD may leave a message for IRWTDretrievable when IRWTD becomes available (block 320). The process thenterminates at block 330.

Although aspects of the present invention have been described withrespect to a computer processor and software, it should be understoodthat at least some aspects of the present invention may alternatively beimplemented as a program product for use with a data storage system orcomputer system. Programs defining functions of the present inventioncan be delivered to a data storage system or computer system via avariety of signal-bearing media, which include, without limitation,non-writable storage media (e.g. CD-ROM), writable storage media (e.g. afloppy diskette, hard disk drive, read/write CD-ROM, optical media), andcommunication media, such as computer and telephone networks includingEthernet. It should be understood, therefore, that such signal-bearingmedia, when carrying or encoding computer readable instructions thatdirect method functions of the present invention, represent alternativeembodiments of the present invention. Further, it is understood that thepresent invention may be implemented by a system having means in theform of hardware, software, or a combination of software and hardware asdescribed herein or their equivalent.

Having thus described the invention of the present application in detailand by reference to preferred embodiments thereof, it will be apparentthat modifications and variations are possible without departing fromthe scope of the invention defined in the appended claims.

1. A method of routing an outgoing communication, the method comprising:transmitting a communication from a caller using a callertelecommunication device to an intended receiving wirelesstelecommunication device; and in response to the communication failingto connect to the intended receiving wireless telecommunication device,transmitting an instruction from the caller telecommunication device toa host carrier to determine if the intended receiving wirelesstelecommunication device has previously set up third party alternatetelecommunication devices for receiving a re-route of the communication,wherein the instruction from the caller telecommunication deviceinstructs the host carrier to: identify one or more alternatetelecommunication devices that are connected to the intended receivingwireless telecommunication device by a common short range wirelesstechnology and are available for receiving the communication, attempt toconnect the communication from the caller telecommunication device tothe intended receiving wireless telecommunication device by re-routingthe communication through a first alternate telecommunication devicethat is coupled to the intended receiving wireless telecommunicationdevice, and in response to the attempt to connect the communication tothe intended receiving wireless telecommunication device by re-routingthe communication through the first alternate telecommunication devicesucceeding, maintain a connection of the communication between thecaller telecommunication device and the intended receiving wirelesstelecommunication device.
 2. The method of claim 1, further comprising:in response to the attempt to connect the communication to the intendedreceiving wireless telecommunication device by re-routing thecommunication through the first alternate telecommunication devicefailing, re-routing the communication through the first alternatetelecommunication device and a second alternate telecommunication deviceto the intended receiving wireless telecommunication device.
 3. Themethod of claim 2, wherein the first alternate telecommunication deviceand the second alternate telecommunication device are pre-selected by auser of the intended receiving wireless telecommunication deviceaccording to a priority of contacts established by preferences of theuser, and wherein the priority of contacts is stored on the hostcarrier.
 4. The method of claim 3, wherein the priority of contactsspecifies a maximum number of re-routing hops that are authorized to bemade from the first alternate telecommunication device to the secondalternate telecommunication device.
 5. The method of claim 2, whereinthe second alternate telecommunication device and the first alternatetelecommunication device are able to wirelessly communicate via a samemultiple user network by utilizing a common short range wirelesstechnology.
 6. The method of claim 2, wherein the second alternatetelecommunication device and the first alternate telecommunicationdevice communicate via a Transmission Control Protocol/Internet Protocol(TCP/IP) network.
 7. The method of claim 1, wherein the communication isa text based message, the method further comprising: in response to anattempt to connect the text based message to the intended receivingwireless telecommunication device succeeding, autonomously transmittingan automated delivery notification message to the callertelecommunication device indicating the text based message was deliveredsuccessfully.
 8. The method of claim 1, wherein the communication is avoice call, the method further comprising: in response to attempts toconnect the voice call to the intended receiving wirelesstelecommunication device exceeding a maximum number of permittedre-routing attempts, autonomously re-routing the communication to avoicemail service.
 9. A caller telecommunication device comprising: atelecommunications transceiver for communicating over a phone system,wherein the telecommunications transceiver transmits a call from acaller, who is using the caller telecommunication device, to an intendedreceiving wireless telecommunication device; and a processing logicconfigured for, in response to the call failing to connect to theintended receiving wireless telecommunication device, instructing thetelecommunications transceiver to transmit an instruction to a hostcarrier, wherein the instruction directs the host carrier to perform thesteps of: utilizing the telecommunications transceiver to determine ifone or more alternate telecommunication devices are connected to theintended receiving wireless telecommunication device by a common shortrange wireless technology and are available for receiving thecommunication, transmitting an instruction to a first alternatetelecommunication device, wherein the instruction directs the firstalternate telecommunication device to utilize a short range wirelesstransceiver of the first alternate telecommunication device to attemptto connect the communication from the caller telecommunication device tothe intended receiving wireless telecommunication device by re-routingthe communication through the first alternate telecommunication devicethat is coupled to the intended receiving wireless telecommunicationdevice, and in response to the attempt to connect the communication tothe intended receiving wireless telecommunication device by re-routingthe communication through the first alternate telecommunication devicesucceeding, maintaining a connection of the communication between thecaller telecommunication device and the intended receiving wirelesstelecommunication device.
 10. The caller telecommunication device ofclaim 9, further comprising: in response to the attempt to connect thecommunication to the intended receiving wireless telecommunicationdevice by re-routing the communication through the first alternatetelecommunication device failing, re-routing the communication throughthe first alternate telecommunication device and a second alternatetelecommunication device to the intended receiving wirelesstelecommunication device.
 11. The caller telecommunication device ofclaim 10, wherein the first alternate telecommunication device and thesecond alternate telecommunication device are pre-selected by a user ofthe intended receiving wireless telecommunication device according to apriority of contacts established by preferences of the user, and whereinthe priority of contacts is stored on the host carrier.
 12. The callertelecommunication device of claim 11, wherein the priority of contactsspecifies a maximum number of re-routing hops that are authorized to bemade from the first alternate telecommunication device to the secondalternate telecommunication device.
 13. The caller telecommunicationdevice of claim 10, wherein the second alternate telecommunicationdevice and the first alternate telecommunication device are able towirelessly communicate via a same multiple user network by utilizing acommon short range wireless technology.
 14. The caller telecommunicationdevice of claim 10, wherein the second alternate telecommunicationdevice and the first alternate telecommunication device communicate viaa Transmission Control Protocol/Internet Protocol (TCP/IP) network. 15.The caller telecommunication device of claim 9, wherein thecommunication is a text based message, the method further comprising: inresponse to an attempt to connect the text based message to the intendedreceiving wireless telecommunication device succeeding, autonomouslytransmitting an automated delivery notification message to the callertelecommunication device indicating the text based message was deliveredsuccessfully.
 16. The caller telecommunication device of claim 9,wherein the communication is a voice call, the method furthercomprising: in response to attempts to connect the voice call to theintended receiving wireless telecommunication device exceeding a maximumnumber of permitted re-routing attempts, autonomously re-routing thecommunication to a voicemail service.
 17. A computer-readable mediumhaving stored a plurality of instructions processable by a machineembodied therein, wherein the plurality of instructions, when processedby the machine, causes the machine to perform a method, the methodcomprising: transmitting a communication from a caller using a callertelecommunication device to an intended receiving wirelesstelecommunication device; and in response to the communication failingto connect to the intended receiving wireless telecommunication device,transmitting an instruction from the caller telecommunication device toa host carrier to determine if the intended receiving wirelesstelecommunication device has previously set up third party alternatetelecommunication devices for receiving a re-route of the communication,wherein the instruction from the caller telecommunication deviceinstructs the host carrier to: identify one or more alternatetelecommunication devices that are connected to the intended receivingwireless telecommunication device by a common short range wirelesstechnology and are available for receiving the communication, attempt toconnect the communication from the caller telecommunication device tothe intended receiving wireless telecommunication device by re-routingthe communication through a first alternate telecommunication devicethat is coupled to the intended receiving wireless telecommunicationdevice, and in response to the attempt to connect the communication tothe intended receiving wireless telecommunication device by re-routingthe communication through the first alternate telecommunication devicesucceeding, maintain a connection of the communication between thecaller telecommunication device and the intended receiving wirelesstelecommunication device.
 18. The computer-readable medium of claim 17,wherein the method further comprises: in response to the attempt toconnect the communication to the intended receiving wirelesstelecommunication device by re-routing the communication through thefirst alternate telecommunication device failing, re-routing thecommunication through the first alternate telecommunication device and asecond alternate telecommunication device to the intended receivingwireless telecommunication device.
 19. The computer-readable medium ofclaim 18, wherein the first alternate telecommunication device and thesecond alternate telecommunication device are pre-selected by a user ofthe intended receiving wireless telecommunication device according to apriority of contacts established by preferences of the user, and whereinthe priority of contacts is stored on the host carrier.
 20. Thecomputer-readable medium of claim 19, wherein the priority of contactsspecifies a maximum number of re-routing hops that are authorized to bemade from the first alternate telecommunication device to the secondalternate telecommunication device.